package com.tsmti.activiti.entity;

import com.tsmti.core.common.entity.ActBaseDataEntity;
import com.tsmti.core.common.entity.BaseDataEntity;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.List;

/**
 * @Package：com.tsmti.activiti.entity
 * @Class：ExtendActNodeSet
 * @Description： TODO
 * @Author：zcw
 * @Date：Created in 2018/7/30 14:47
 * @Company:
 * @Version：
 * @Modified By:
 */
@Entity
@Table(name="extend_act_nodeset")
@DynamicUpdate
@DynamicInsert
public class ExtendActNodeSet extends ActBaseDataEntity<String> {
    private static final long serialVersionUID = -6542034454434692905L;

    /**
     * 审批用户类型数组
     */
    private String[] userTypes;

    /**
     * 审批用户id
     */
    private String[] userIds;

    /**
     * 表单用户字段
     */
    private String userField;
    /**
     * 连线条件集合
     */
    private List<ExtendActNodeField> judgList;

    private String id;
    /**模型id*/
    private String modelId;
    /**流程定义id*/
    private String defId;
    /**流程节点id*/
    private String nodeId;
    /**流程节点类型 =1开始节点 2=审批节点 3=分支 4=连线 5=结束节点*/
    private String actNodeType;
    /**节点行为 2 的时候 ,1=审批 2=会签*/
    private String nodeAction;
    /**可更改的字段数据，以逗号隔开*/
    private String changeFiles;
    /**业务回调函数*/
    private String callBack;

    @Override
    public void setId(String id) {
        this.id = id;
    }

    @Id
    @Override
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy = "uuid")
    public String getId() {
        return id;
    }
    /**
     * 设置：模型id
     */
    public void setModelId(String modelId) {
        this.modelId = modelId;
    }
    /**
     * 获取：模型id
     */
    public String getModelId() {
        return modelId;
    }
    /**
     * 获取：流程定义id
     */
    @Override
    public String getDefId() {
        return defId;
    }
    /**
     * 设置：流程定义id
     */
    @Override
    public void setDefId(String defId) {
        this.defId = defId;
    }

    /**
     * 设置： 流程节点id
     */
    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }
    /**
     * 获取： 流程节点id
     */
    public String getNodeId() {
        return nodeId;
    }
    /**
     * 设置：流程节点类型 =开始节点 2=审批节点 3=分支 4=连线 5=结束节点
     */
    public void setActNodeType(String nodeType) {
        this.actNodeType = nodeType;
    }
    /**
     * 获取：流程节点类型 =开始节点 2=审批节点 3=分支 4=连线 5=结束节点
     */
    @Column(name = "nodeType")
    public String getActNodeType() {
        return actNodeType;
    }
    /**
     * 设置：节点行为 2 的时候 ,1=审批 2=会签
     */
    public void setNodeAction(String nodeAction) {
        this.nodeAction = nodeAction;
    }
    /**
     * 获取：节点行为 2 的时候 ,1=审批 2=会签
     */
    public String getNodeAction() {
        return nodeAction;
    }
    /**
     * 设置：可更改的字段数据，以逗号隔开
     */
    public void setChangeFiles(String changeFiles) {
        this.changeFiles = changeFiles;
    }
    /**
     * 获取：可更改的字段数据，以逗号隔开
     */
    public String getChangeFiles() {
        return changeFiles;
    }
    /**
     * 设置：业务回调函数
     */
    public void setCallBack(String callBack) {
        this.callBack = callBack;
    }
    /**
     * 获取：业务回调函数
     */
    public String getCallBack() {
        return callBack;
    }

    @Transient
    public List<ExtendActNodeField> getJudgList() {
        return judgList;
    }

    public void setJudgList(List<ExtendActNodeField> judgList) {
        this.judgList = judgList;
    }
    @Transient
    public String[] getUserTypes() {
        return userTypes;
    }

    public void setUserTypes(String[] userTypes) {
        this.userTypes = userTypes;
    }

    @Transient
    public String[] getUserIds() {
        return userIds;
    }

    public void setUserIds(String[] userIds) {
        this.userIds = userIds;
    }

    @Transient
    public String getUserField() {
        return userField;
    }

    public void setUserField(String userField) {
        this.userField = userField;
    }
}
